package com.whfc.emp.service;

import com.whfc.emp.entity.ClassMeeting;
import com.whfc.entity.dto.Apply.rep.ClassMeetingInfoRep;
import com.whfc.entity.dto.Apply.req.AppEntryApplicationReq;
import com.whfc.entity.dto.Apply.req.MeetingDto;
import com.whfc.entity.dto.msg.AppMsgToUserDTO;

import java.util.List;

public interface ClassMeetingService {
    /**
     * 根据ID查询
     */
    ClassMeeting selectByPrimaryKey(Integer id);

    /**
     * 根据ID删除
     */
    int deleteByPrimaryKey(Long id);

    /**
     * 全字段插入
     */
    int insert(ClassMeeting record);

    /**
     * 选择性插入
     */
    int insertSelective(ClassMeeting record);

    /**
     * 选择性更新
     */
    int updateByPrimaryKeySelective(ClassMeeting record);

    /**
     * 全字段更新
     */
    int updateByPrimaryKey(ClassMeeting record);

    /**
     * 根据计划ID查询班会列表
     */
    List<ClassMeeting> selectByPlanId(Long planId);

    /**
     * 根据创建人查询班会列表
     */
    List<ClassMeeting> selectByCreateUser(Long createUser);

    /**
     * 根据班会类型查询
     */
    List<ClassMeeting> selectByMeetingType(Integer meetingType);

    List<ClassMeetingInfoRep>  selectByMeetingDateEndUserId(String startTimeBegin, String startTimeEnd, Integer id);

    List<ClassMeetingInfoRep>  selectByMeetingDateEndCreateUser(String startTimeBegin, String startTimeEnd, Integer id);

    ClassMeetingInfoRep  selectByMeetingDateEndId(Integer id);

    List<MeetingDto> meetingList(AppEntryApplicationReq req);

    List<ClassMeetingInfoRep> selectByMeetingId(Integer id);

    List<AppMsgToUserDTO> sendAlarmMessageToWorkPlanGuardians(String title, String alarmMessage, Integer classMeetingId);
}